
/*
 * #====================================
 * # 项目名称：iot
 * # 版本号： V3.0.0
 * #====================================
 * # 文件说明：
 * #
 * #====================================
 * # 子模块说明：
 * #
 * #====================================
 * # 创建人员：zhanghan
 * # 联系邮箱：<zhanghan@iot-cas.cn>
 * # 创建日期：2020-03-23 16:13:42
 * # 开发单位：中科智城软件有限公司
 * #
 * # @Copyright 2020
 * #  All right reserved.
 * #====================================
 */

package com.zkhz.base.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * entity 基类，抽象了一些共同属性
 */
@Data
public abstract class BaseEntity implements Serializable {
    /**
     * 实体id
     * INPUT 如果开发者没有手动赋值，则数据库通过自增的方式给主键赋值，如果开发者手动赋值，则存入该值。
     * AUTO 默认就是数据库自增，开发者无需赋值
     * ASSIGN_ID MP 自动赋值，雪花算法
     * ASSIGN_UUID 主键的数据类型必须是 String，自动生成 UUID 进行赋值。
     */
    @TableId(type = IdType.ASSIGN_ID)
    protected String id;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    /**
     * 创建人
     */
    protected String createUser;

    /**
     * 更新人
     */
    protected String updateUser;
    /**
     * 软删除。默认不删除。
     */
    @TableField(fill = FieldFill.INSERT)
    private Boolean deleted;

}
